package com.mipo.singleton.lazy.threadsafe.methodsynchronized;

/**
 * 这里的实现能够保证多线程并发下的线程安全性,将全部的代码都被锁上了，效率很低下。 
 * @author kitty
 *
 */
public class MethodSynchronizedSingleton {
	
	private static MethodSynchronizedSingleton instance = null;
	
	private MethodSynchronizedSingleton(){}
	
	public synchronized static MethodSynchronizedSingleton getInstance() {
		try {
			if(instance == null) {
				//创建实例之前可能会有一些准备性的耗时工作 
				Thread.sleep(300);
				instance = new MethodSynchronizedSingleton();
			}
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		return instance;
	}
}




